<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DALEntities" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DALEntities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:8989/MapData.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfProviderInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProviderInfo" nillable="true" type="tns:ProviderInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProviderInfo" nillable="true" type="tns:ArrayOfProviderInfo" />
  <xs:complexType name="ProviderInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Source" type="tns:ProviderSource" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProviderInfo" nillable="true" type="tns:ProviderInfo" />
  <xs:simpleType name="ProviderSource">
    <xs:restriction base="xs:string">
      <xs:enumeration value="MSSQL" />
      <xs:enumeration value="SP" />
      <xs:enumeration value="MSAS" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ProviderSource" nillable="true" type="tns:ProviderSource" />
  <xs:complexType name="SchemaRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="ConnectionString" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element minOccurs="0" name="ProviderName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchemaRequest" nillable="true" type="tns:SchemaRequest" />
  <xs:complexType name="ArrayOfViewSchema">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ViewSchema" nillable="true" type="tns:ViewSchema" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfViewSchema" nillable="true" type="tns:ArrayOfViewSchema" />
  <xs:complexType name="ViewSchema">
    <xs:sequence>
      <xs:element minOccurs="0" name="Columns" nillable="true" type="tns:ArrayOfColumn" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ViewSchema" nillable="true" type="tns:ViewSchema" />
  <xs:complexType name="ArrayOfColumn">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Column" nillable="true" type="tns:Column" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfColumn" nillable="true" type="tns:ArrayOfColumn" />
  <xs:complexType name="Column">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" type="tns:DataType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Column" nillable="true" type="tns:Column" />
  <xs:simpleType name="DataType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String" />
      <xs:enumeration value="Integer" />
      <xs:enumeration value="Double" />
      <xs:enumeration value="DateTime" />
      <xs:enumeration value="Decimal" />
      <xs:enumeration value="Blob" />
      <xs:enumeration value="Spatial" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DataType" nillable="true" type="tns:DataType" />
  <xs:complexType name="ViewRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="CatalogName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ConnectionString" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExtraData" nillable="true" type="xs:anyType" />
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element minOccurs="0" name="ProviderName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ViewName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ViewRequest" nillable="true" type="tns:ViewRequest" />
  <xs:complexType name="ViewResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Data" nillable="true" type="xs:anyType" />
      <xs:element minOccurs="0" name="ExtraData" nillable="true" type="xs:anyType" />
      <xs:element minOccurs="0" name="RequestID" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ViewResult" nillable="true" type="tns:ViewResult" />
  <xs:complexType name="ArrayOfViewRequest">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ViewRequest" nillable="true" type="tns:ViewRequest" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfViewRequest" nillable="true" type="tns:ArrayOfViewRequest" />
  <xs:complexType name="ArrayOfViewResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ViewResult" nillable="true" type="tns:ViewResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfViewResult" nillable="true" type="tns:ArrayOfViewResult" />
</xs:schema>